/**
 * @class User
 * @fileOverview 用户表操作模型
 * @extends yijs.air.Model
 */ 
var User = function(){
	this.db = new yijs.air.Db(yijs.config.basePath + yijs.config.dbPath);
	this.table = yijs.config.table.user;
}
/**
 * 向用户表插入新的用户（如果存在就更新用户密码）
 * @param {Object} data 数据
 */
User.prototype.insert = function(data){
	if(data){
		if(!this.isExist(data.name)){
			var _data = this.getDataWidthIsRemember(data);
			this.db.insert(this.table,_data);
		}else{
			this.update(data);
		}
	}
}
/**
 * 根据是否记住密码，提供包含或不包含密码的数据
 * @param {Object} data
 */
User.prototype.getDataWidthIsRemember = function(data){
	return Boolean(data.isRemember) && data || {name:data.name,isRemember : data.isRemember,autoLogin : data.autoLogin};
	
}
/**
 * 判断用户是否已经存在
 * @param {String} name 用户名
 * @return {Boolean} 存在为true，不存在为false
 */
User.prototype.isExist = function(name){
	this.db.where("name",name);
	var result = this.db.get(this.table);
	var _bool = true;
	if(result.data == null) _bool = false;
	return _bool;
}
/**
 * 判断是否有自动登录的账号
 */
User.prototype.getAutoLogin = function(){
	this.db.where("autoLogin",1);
	var result = this.db.get(this.table);
	return result.data;
	
}
/**
 * 获取全部用户数据
 * @return {Array} 用户数据数组
 */
User.prototype.get = function(){
	var result = this.db.get(this.table);
	return result.data;
}
/**
 * 删除用户
 *  @param {String} name 用户名
 */
User.prototype.del = function(name){
	this.db.where("name",name);
	this.db.del(this.table);
}
/**
 * 更新用户
 * @param {String} data 用户
 */
User.prototype.update = function(data){
	this.db.where("name",data.name);
	var _data = this.getDataWidthIsRemember(data);
	this.db.update(this.table,_data);
}

User.prototype.toJson = function(data){
	var _arr = data.split("&");
	var json = {};
	$.each(_arr,function(i){
		var _a = _arr[i].split("=");
		json[_a[0]] = _a[1] || "";
	})
	return json;
}
